package factura.beans;

import java.awt.event.ActionEvent;
import java.io.IOException;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import factura.dao.EmpleadoDAO;
import factura.modelo.Empleados;



@ManagedBean
@SessionScoped
public class EmpleadosBean {

	private Empleados usuario = new Empleados();
	


	public Empleados getUsuario() {
		return usuario;
	}

	public void setUsuario(Empleados usuario) {
		this.usuario = usuario;
	}

	
	
	public String verificarDatos() throws Exception {
		 FacesContext context = FacesContext.getCurrentInstance();
	        HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
	       
		EmpleadoDAO usuDAO = new EmpleadoDAO();
		Empleados us;
		
		try {
			us = usuDAO.verificarDatos(this.usuario);
			if (us != null) {

				FacesContext.getCurrentInstance().getExternalContext()
						.getSessionMap().put("usuario", us);

				session.setAttribute("usuarioconectado", "si");
                
                context.getExternalContext().redirect("/Factura_Electronica/faces/exito.xhtml"); // recalcar que el faces-redirect=true,
					usuario=us;	
					// olvida la peticion anterior y se
										// dirige a la vista
			} else {
				 context.getExternalContext().redirect("/Factura_Electronica/faces/error.xhtml");
			}
		} catch (Exception ex) {
			throw ex;
		}
return "";

	}

	public boolean verificarSesion() {
		boolean estado;

		if (FacesContext.getCurrentInstance().getExternalContext()
				.getSessionMap().get("usuario") == null) {
			estado = false;
		} else {
			estado = true;
		}

		return estado;
	}

	public String cerrarSesion() throws Exception {
		 FacesContext context = FacesContext.getCurrentInstance();
		  
		FacesContext.getCurrentInstance().getExternalContext()
				.invalidateSession();
		 try {
			context.getExternalContext().redirect("/Factura_Electronica/faces/index.xhtml");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "index";
	}
}
